/* 初始化dayjs相关配置 */
import Vue from 'vue';
import dayjs from 'dayjs';
import 'dayjs/locale/zh-cn'
import rTime from 'dayjs/plugin/relativeTime'

//配置使用处理相对时间
dayjs.extend(rTime)

//配置使用中文语言包
dayjs.locale('zh-cn')

//把处理相对时间的代码包装为全局过滤器
//然后就可以在任何组件的模板中使用了
//所谓的过滤器其实就是一个可以在模板中调用的函数而已
//在组件的模板中使用过滤器：{{xxx | relativeTime}}
//管道符千面的内容会作为参数传递给过滤器函数
//过滤器的返回值会渲染到使用过滤器的模板中
/* Vue.filter('relativeTime', value => {
  return dayjs(value).from(dayjs())
})

Vue.filter('datetime', (value, format = 'YYYY-MM-DD HH:mm:ss') => {
  return dayjs(value).format(format)
}) */

//例如日期格式化
/* console.log(dayjs().format('YYY-MM-DD'));
console.log(dayjs('2021-09-16 19:32').from(dayjs())); */
export const relativeTime = value => {
  return dayjs().to(dayjs(value))
}

//相对日期
export const formatTime = (value, format = 'YYYY-MM-DD hh:mm:ss') => {
  return dayjs(value).format(format)
}

export const formDate = (date) => {
  let standardDate = new Date(date);
  let year = standardDate.getFullYear();
  let month = standardDate.getMonth() + 1;
  let day = standardDate.getDate();
  let formatting = year + ('month>10' ? '-' : '-0') + month + ('day>10' ? '-' : '-0') + day;
  return formatting
}

//可自选日期格式
export default {
  install(Vue) {
    Vue.filter('relativeTime', relativeTime)
    Vue.filter('formatTime', formatTime)
  },
  formDate
}